//引入下载好的formidable模块用于处理文件上传等特殊请求
const formidable=require('formidable');
//引入下载好的path模块用于路径拼接
const path=require('path');
//引入发布信息模块
const {Article}=require('../../model/article');
module.exports=(req,res)=>{
    //创建表单解析对象 
    const form= new formidable.IncomingForm();
    //配置上传文件的存放地址
    form.uploadDir=path.join(__dirname,'../','../','public','uploads');
    //上传的文件保留后缀名
    form.keepExtensions=true;
    //解析表单
    form.parse(req,async (err,fields,files)=>{
        //err:错误对象
        //fields:对象类型 保存的是普通表单数据
        //files:对象类型  保存了上传文件相关的数据
        //files.cover.path.split('public')[1]这里储存了图片路径 我们只需要后面一段的绝对路径即可
        //res.send(files.cover.path.split('public')[1]);
        //获取到的文件插入到数据库
       await Article.create({
            title:fields.title,
            author:fields.author,
            publishDate:fields.publishDate,
            cover:files.cover.path.split('public')[1],
            content:fields.content
        });
        //重定向到文章列表页面
        res.redirect('/admin/article');
    })
}

